/**
 * Created by yangheng940 on 2017/7/11.
 */
package com.cqfae.deploycentral.app.services;

import com.cqfae.deploycentral.app.dao.entity.ReportInfoTag;
import com.cqfae.deploycentral.app.dao.entity.WindowPlans;
import com.cqfae.deploycentral.app.web.request.DeployActionRequest;
import com.cqfae.deploycentral.app.web.request.WindowPlansRequest;
import com.cqfae.deploycentral.app.web.response.IPage;
import com.cqfae.deploycentral.app.web.vo.WindowPlansFilesVo;
import com.cqfae.deploycentral.app.web.vo.WindowPlansTagVo;
import com.cqfae.deploycentral.app.web.vo.WindowPlansVo;
import org.springframework.web.multipart.MultipartFile;

import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.util.List;

public interface WindowPlansService {

     IPage<WindowPlansVo> page(WindowPlansRequest request);

     List<WindowPlansVo> pageList(WindowPlansRequest request);

     int delFile(long fileId);

     Integer save(WindowPlansVo vo,boolean isAuto);

     List<WindowPlans> findAll();

     WindowPlans getOne(WindowPlans entity);

     WindowPlansFilesVo upload(MultipartFile file) throws IOException;

     void downloadFile(long fileId, HttpServletResponse response);

    List<WindowPlansTagVo> deployAction(DeployActionRequest request);

    List<WindowPlansTagVo> deployActionOne(DeployActionRequest request);

    int updateDeployStatusByReportCode(String reportCode, Integer deployStatusOne, Integer deployStatusTwo);

    List<WindowPlansTagVo> getWindowPlansTags(List<ReportInfoTag> tags);

    List<WindowPlansTagVo> cleanQueue(DeployActionRequest request);

    int deployActionEx(DeployActionRequest request,String action);

    List<WindowPlansTagVo> deployDoneOne(DeployActionRequest request);

}
